#include "BulletCollision/NarrowPhaseCollision/btMprPenetration.h"
#ifdef __cplusplus
extern "C" {
#endif
btMprDistanceInfo* bullet_NewbtMprDistanceInfo(){
	btMprDistanceInfo* wrap_out = new btMprDistanceInfo();
	return wrap_out;
}

double bullet_btMprDistanceInfo_GetFieldOfM_distance(btMprDistanceInfo* c_this){
	return (double)(c_this->m_distance);
}

btVector3* bullet_btMprDistanceInfo_GetFieldOfM_normalBtoA(btMprDistanceInfo* c_this){
	return (btVector3*)(&c_this->m_normalBtoA);
}

btVector3* bullet_btMprDistanceInfo_GetFieldOfM_pointOnA(btMprDistanceInfo* c_this){
	return (btVector3*)(&c_this->m_pointOnA);
}

btVector3* bullet_btMprDistanceInfo_GetFieldOfM_pointOnB(btMprDistanceInfo* c_this){
	return (btVector3*)(&c_this->m_pointOnB);
}

btMprCollisionDescription* bullet_NewbtMprCollisionDescription(){
	btMprCollisionDescription* wrap_out = new btMprCollisionDescription();
	return wrap_out;
}

btVector3* bullet_btMprCollisionDescription_GetFieldOfM_firstDir(btMprCollisionDescription* c_this){
	return (btVector3*)(&c_this->m_firstDir);
}

double bullet_btMprCollisionDescription_GetFieldOfM_gjkRelError2(btMprCollisionDescription* c_this){
	return (double)(c_this->m_gjkRelError2);
}

int bullet_btMprCollisionDescription_GetFieldOfM_maxGjkIterations(btMprCollisionDescription* c_this){
	return (int)(c_this->m_maxGjkIterations);
}

double bullet_btMprCollisionDescription_GetFieldOfM_maximumDistanceSquared(btMprCollisionDescription* c_this){
	return (double)(c_this->m_maximumDistanceSquared);
}

_btMprSupport_t* bullet_New_btMprSupport_t(){
	_btMprSupport_t* wrap_out = new _btMprSupport_t();
	return wrap_out;
}

btVector3* bullet__btMprSupport_t_GetFieldOfV(_btMprSupport_t* c_this){
	return (btVector3*)(&c_this->v);
}

btVector3* bullet__btMprSupport_t_GetFieldOfV1(_btMprSupport_t* c_this){
	return (btVector3*)(&c_this->v1);
}

btVector3* bullet__btMprSupport_t_GetFieldOfV2(_btMprSupport_t* c_this){
	return (btVector3*)(&c_this->v2);
}

_btMprSimplex_t* bullet_New_btMprSimplex_t(){
	_btMprSimplex_t* wrap_out = new _btMprSimplex_t();
	return wrap_out;
}

int bullet__btMprSimplex_t_GetFieldOfLast(_btMprSimplex_t* c_this){
	return (int)(c_this->last);
}

_btMprSupport_t** bullet__btMprSimplex_t_GetFieldOfPs(_btMprSimplex_t* c_this){
	return (_btMprSupport_t**)(&c_this->ps);
}

#ifdef __cplusplus
}
#endif
